package homework;
import java.util.Scanner;
public class CamelToSnake {
    /**
    *2. 编写一个函数，将驼峰命名法(Camel Case)的单词转换为蛇形命名法(Snake Case)的单词。
    *# 例子
    *# 驼峰转蛇形
    *camelToSnake("myName") # 转换后的结果：my_name
     */
    private static Scanner scan = new Scanner(System.in);

    public static void main(String[] args) {
        System.out.println("请输入驼峰命名:");
        String str = scan.next();
        System.out.println("它的蛇形命名为："+ CamelToSnake(str));
    }

    public static String CamelToSnake(String str) {
        String str1 = "";
        //把字符串全部打断
        String[] str2 = str.split("");
        for (int i = 0; i < str2.length; i++) {
            //转换为字符数组
            char[] chars = str2[i].toCharArray();
            //开头不用考虑加下划线，所以跳过i为0
            if (i == 0) {
                continue;
            }
            if (Character.isUpperCase(chars[0])) {//如果有大写字母，就在前面加下划线
                str2[i] = "_" + str2[i];
            }
        }
        //字符串拼接
        for (String items : str2) {
            str1 += items;
        }
        //再将所有字母转换为小写后返回
        return str1.toLowerCase();
    }
}
